Перейти к основному содержимому

Ошибка 451, 403 при установке Tailscale

· 2 мин. чтения

Возникает при попытке установки Tailscale на хостах в некоторых странах.

root@s:~/tailscale# curl -fsSL https://tailscale.com/install.sh | sh
The installer cannot reach https://pkgs.tailscale.com/
Please make sure that your machine has internet access.
Test output:
curl: (22) The requested URL returned error: 451

Скриншот с терминала. Ошибка apt update

Вкратце:

  1. Добываем прокси нейтральной страны. Ниже подскажу где быстро, дешево, удобно
  2. Выполняем команды установки Tailscale с указанием прокси

Как меня развели на $2,000

· 2 мин. чтения

мои переживания

Заскамили, как мамонта. Никогда не мог подумать, что попадусь на такое.

Кратко о том, как несколько дней назад лил кровавые слезы и что случилось.

Часть оборотных денег я хранил на криптовалютном кошельке в USDT (криптоаналог доллара). Так мои сбережения были в большей степени защищены от инфляции национальной валюты и всем известных банковских "бзиков", когда счет могут заблокировать "за подозрение в подозрении".

Про мокрые углы, точку росы и плесень в доме

· 8 мин. чтения

плесень при ходе в дом

Хочу поделиться своим горьким опытом и бесплатным решением проблемы с плесенью в доме.

Эту зиму я решил провести на даче. Стены тонкие, дом высокий, а не широкий (у комнат нет соседних помещений), зима короткая, зато холодная. Все это привело к появлению влаги на стенах и в углах, запаху сырости и отслоению краски со шпаклевкой.

Я много раз слышал термин "точка росы" и с умным лицом притворялся, что я понимаю, что это. Я сам так считал.

Поиск утечек памяти в Lua

· 3 мин. чтения

Перенос информации с /docs

Пришлось столкнуться. Мои микрозаметки на этот счет.

TL;DR

Все, что описано ниже может быть полезным, но в моем случае полезнее всего оказалось сбилдить LuaJit от Tarantool и использовать встроенный в него memory profiler (memprof), который покажет где и сколько памяти не высвободилось в коде.

Self-Hosted Long Polling микросервис. Зачем и как

· 6 мин. чтения

banner

примечание

Этот пост – актуализация и перепись двух старых постов на эту тему.

poll.def.pm – это простейший open-source Long Polling сервер, который выступает в качестве своеобразного WebHook сервера и хранит в себе полученные updates.

🌈 Вы можете указать единый вебхук url на всех API сервисах, с которыми работаете, затем получать эти вебхуки со стольки своих сервисов, сколько создадите.

  • В любое время. Даже если ваш сервис был offline, данные не теряются
  • Мгновенно. Как только приходит новый апдейт, вы сразу его получаете. Без задержки
  • Без спама GET запросами. Соединение с long-polling не разрывается, пока не придет апдейт.
  • Получаете везде одновременно. Например телеграмовский getUpdates запрещает одновременно получать апдейты на нескольких серверах. Так ваш бот не сможет работать по частям на разных серверах.

express.lua – создание веб приложений на Lua

· 6 мин. чтения

lua-express-white-banner

🌕 express.lua это самый детализированный порт оригинального express.js, написанный на Lua. Пока кто-то не докажет обратного.

По сути, lua-express это минималистичный web фреймворк с почти полной совместимостью API с express.js, позволяющий создавать веб приложения на чистом Lua.

Сравнение
const express = require("express")
const app = express()

app.get("/", function(req, res) {
res.send("Hello World")
})

app.listen(3000)

Lua - Отладка кода на remote сервере

· 5 мин. чтения

debugger.lua

примечание

Пост создан в стиле заметок, а не руководства. Будет полезен тем, кто хочет удаленно дебажить свои Lua приложения, но еще подбирает инструмент.

Проблема в том, что вся информация на китайском. Каждый известный LuaDebug написал китаец и они не хотят переводить документацию на английский.

Корутины в Lua с примерами

· 5 мин. чтения

coroutine-vs-function-line-view

Корутины это что-то вроде потоков, но при этом они все равно ими не являются. Поток, это когда (например) на отдельное ядро процессора можно повесить полностью отдельную задачу, а корутина это когда блоки кода работают по очереди и могут быть остановлены в любом моменте, чтобы продолжить исполнение другого кода.

Вот несколько наглядных практических примеров использования корутин:

Установка luarocks для luavela (ujit)

· 1 мин. чтения

luarocks-logo-png

примечание

Инструкция предназначена для debian-based дистрибутивов, включая ubuntu

Необходимые зависимости

  • git для git clone
  • cmake, dpkg-dev, libc-dev и gcc для cmake ../luavela
  • g++ для make install в luavela
  • wget для скачивания luarocks
  • unzip для ./configure luarocks

Предварительно напишите LVPATH=/usr. Это будет путь установки luavela и с ним будет работать luarocks.